package com.heima.schedule.service;

import com.heima.model.schedule.dtos.Task;

public interface TaskService {

    /**
     * 添加任务
     * @param task
     * @return
     */
    public long addTask(Task task);

    /**
     * 取消任务
     * @param taskId 任务id
     * @return 返回结果
     */
    public Boolean cancelTask(Long taskId);

    /**
     * 从list中获取任务，消费,按照任务类型和任务优先级消费
     * @param taskType 任务类型
     * @param priority 任务的优先级
     * @return
     */
    public Task consumer(Integer taskType,Integer priority);

    /**
     * 定时刷新任务1：将reids中Zset集合中刷新后时间小于当前时间的添加到list集合中
     */
    public void refresh();

    /**
     * 定时刷新任务2:加载数据redis缓存中
     */
    public void reload();
}
